package com.knowledge.plus.设计模式.工厂模式.普通工厂模式;

import com.knowledge.plus.设计模式.工厂模式.pojo.impl.MailSender;
import com.knowledge.plus.设计模式.工厂模式.pojo.Sender;
import com.knowledge.plus.设计模式.工厂模式.pojo.impl.SmsSender;

/**
 * 工厂类
 * 普通工厂方法模式中，如果传递的字符串出错，则不能正确创建对象
 *
 * @author PF.Tian
 * @since 2022/3/7
 */
public class SendFactory {

    public Sender produce(String type) {
        if ("mail".equals(type)) {
            return new MailSender();
        } else if ("sms".equals(type)) {
            return new SmsSender();
        } else {
            System.out.println("请输入正确的类型!");
            return null;
        }
    }

    /**
     * 测试
     */
    public static void main(String[] args) {
        SendFactory factory = new SendFactory();
        Sender sender = factory.produce("sms");
        sender.send();
    }

}
